package cn.iocoder.yudao.module.pplan.controller.admin.recipe.vo;

import cn.iocoder.yudao.module.pplan.controller.admin.recipedetail.vo.RecipeDetailRespVO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 生产计划-餐谱数据管理 Response VO")
@Data
@ExcelIgnoreUnannotated
public class RecipeRespVO {

    @Schema(description = "唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "21320")
    @ExcelProperty("唯一标识符")
    private Long id;

    @Schema(description = "餐谱名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("餐谱名称")
    private String recipeCode;

    @Schema(description = "餐谱编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @ExcelProperty("餐谱编号")
    private String recipeName;

    @Schema(description = "所属航空公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "31630")
    @ExcelProperty("所属航空公司")
    private Long airlineId;

    @Schema(description = "航线类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("航线类型")
    private String airlineType;

    @Schema(description = "舱位等级", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("舱位等级")
    private String cabinClass;

    @Schema(description = "餐食类别", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("餐食类别")
    private String mealService;

    @Schema(description = "对应套餐", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("对应套餐")
    private String mealSet;

    @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否启用")
    private Boolean isActive;

    @Schema(description = "有效期开始", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("有效期开始")
    private LocalDate startDate;

    @Schema(description = "有效期结束", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("有效期结束")
    private LocalDate endDate;

    @Schema(description = "餐谱图片", requiredMode = Schema.RequiredMode.REQUIRED)
    private String recipePic;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remarks;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "菜品关联关系")
    private List<RecipeDetailRespVO> recipeDetailRespVOs;


}